/**
 * Universidad del Valle de Guatemala
 * Algoritmos y Estructura de Datos
 * Rodrigo Avelar; carné: 11192
 * programa basado de ejemplos en Java Structures de Duane A. Bailey
 */

public interface PriorityQueve {
    /**
     * pre: no esta vacia
     * post: retorna el valor mas pequeño de la cola
     * @return elemento
     */
    public Nodo getFirst();
    
    /**
     * pre: no esta vacia
     * post: retorna y remueve el valor mas pequeño de la cola
     * @return maxVal
     */
    public Nodo remove();
    
    /**
     * pre: valor no es nulo
     * post: el valor es agregado a la cola
     * @param value 
     */
    public void add(Nodo value);
    
    /**
     * post: retorna el estado de la cola
     * @return 
     */
    public boolean isEmpty();
}

    

